package cn.yuanqiao.archive.collection.danganjieshou.domain;

import cn.yuanqiao.common.annotation.Excel;
import cn.yuanqiao.common.exception.ServiceException;
import cn.yuanqiao.common.utils.StringUtils;
import cn.yuanqiao.common.core.domain.BaseEntity;
import cn.yuanqiao.common.utils.SecurityUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 馆藏文件接收组卷对象
 *
 * @ProjectName: JZSDAS
 * @Package: cn.yuanqiao.collection.danganjieshou.domain
 * @ClassName: YqGcReceiveFolder
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2023/8/2 15:08
 * @Version: 1.0
 */
public class YqGcReceiveFolder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    private final String BIGTABLENAME = "_YQ_GC_RECEIVE_FOLDER";

    private String tableName;

    public YqGcReceiveFolder() {
        String tenantCode = SecurityUtils.getTenantCode();
        if (StringUtils.isEmpty(tenantCode)) {
            throw new ServiceException("TenantCode is null");
        } else {
            this.tableName = tenantCode.toUpperCase() + BIGTABLENAME;
        }
    }

    /**
     * 主键id
     */
    private String id;

    /**
     * 类号
     */
    @Excel(name = "类号")
    private String categoryNum;

    /**
     * 资料号
     */
    @Excel(name = "资料号")
    private String genNum;

    /**
     * 册数
     */
    @Excel(name = "册数")
    private String volumeNum;

    /**
     * 资料名
     */
    @Excel(name = "资料名")
    private String genName;

    /**
     * 出版单位
     */
    @Excel(name = "出版单位")
    private String publishUnit;

    /**
     * 作者
     */
    @Excel(name = "作者")
    private String author;

    /**
     * 出版日期
     */
    @Excel(name = "出版日期")
    private String publishData;

    /**
     * 控制属性  1 控制  0 开放
     */
    @Excel(name = "控制属性")
    private String controlType;

    /**
     * 资料状况
     */
    @Excel(name = "资料状况")
    private String genStatus;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String creatorId;

    /**
     * 最后修改人
     */
    @Excel(name = "最后修改人")
    private String lastupdater;

    /**
     * 最后修改时间
     */
    @Excel(name = "最后修改时间")
    private String lastupdateTime;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private String isDel;

    /**
     * 资料树id
     */
    @Excel(name = "资料树id")
    private String treeId;

    /**
     * 关键字查询字段
     */
    private String keywords;

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCategoryNum() {
        return categoryNum;
    }

    public void setCategoryNum(String categoryNum) {
        this.categoryNum = categoryNum;
    }

    public String getGenNum() {
        return genNum;
    }

    public void setGenNum(String genNum) {
        this.genNum = genNum;
    }

    public String getVolumeNum() {
        return volumeNum;
    }

    public void setVolumeNum(String volumeNum) {
        this.volumeNum = volumeNum;
    }

    public String getGenName() {
        return genName;
    }

    public void setGenName(String genName) {
        this.genName = genName;
    }

    public String getPublishUnit() {
        return publishUnit;
    }

    public void setPublishUnit(String publishUnit) {
        this.publishUnit = publishUnit;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getPublishData() {
        return publishData;
    }

    public void setPublishData(String publishData) {
        this.publishData = publishData;
    }

    public String getControlType() {
        return controlType;
    }

    public void setControlType(String controlType) {
        this.controlType = controlType;
    }

    public String getGenStatus() {
        return genStatus;
    }

    public void setGenStatus(String genStatus) {
        this.genStatus = genStatus;
    }

    public String getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(String creatorId) {
        this.creatorId = creatorId;
    }

    public String getLastupdater() {
        return lastupdater;
    }

    public void setLastupdater(String lastupdater) {
        this.lastupdater = lastupdater;
    }

    public String getLastupdateTime() {
        return lastupdateTime;
    }

    public void setLastupdateTime(String lastupdateTime) {
        this.lastupdateTime = lastupdateTime;
    }

    public String getIsDel() {
        return isDel;
    }

    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }

    public String getTreeId() {
        return treeId;
    }

    public void setTreeId(String treeId) {
        this.treeId = treeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("categoryNum", categoryNum)
                .append("genNum", genNum)
                .append("volumeNum", volumeNum)
                .append("genName", genName)
                .append("publishUnit", publishUnit)
                .append("author", author)
                .append("publishData", publishData)
                .append("controlType", controlType)
                .append("genStatus", genStatus)
                .append("creatorId", creatorId)
                .append("lastupdater", lastupdater)
                .append("lastupdateTime", lastupdateTime)
                .append("isDel", isDel)
                .append("treeId", treeId)
                .toString();
    }
}
